Сравнение Garmin и Oura
2025-12-07
bratishka@knowledge:~/daniil_bot$ uv run scripts/compare_garmin_oura.py
Loading data...
Extracting datasets...
Garmin records: 30
Oura records: 30
Intersecting dates: 30
------------------------------
COMPARISON ANALYSIS (November 2025)
<mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark>
Indicator N Pearson_r Spearman_rho Mean_Garmin Mean_Oura Abs_Diff Pct_Diff_%
Total Sleep (min) 26 0.85 0.73 426.8 387.3 43.5 10.8
Deep Sleep (min) 26 0.36 0.41 74.7 87.1 22.7 29.7
REM Sleep (min) 26 0.55 0.54 53.7 83.0 39.0 71.8
Light Sleep (min) 26 0.72 0.59 298.5 217.1 82.7 33.0
Steps 29 0.99 0.99 9639.5 9585.6 429.1 6.8
Distance (m) 29 0.94 0.95 8051.7 7402.9 1250.6 15.1
Active Calories 29 0.91 0.94 570.0 464.3 123.9 24.7
Total Calories 29 0.89 0.94 2888.7 2846.0 123.3 4.1
Resting HR 26 0.89 0.89 54.2 52.8 1.5 2.9
<mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark><mark></mark>
Additional Correlations (Garmin Body Battery vs Oura Scores):
Indicator N Pearson_r Spearman_rho
Body Bat Max vs Sleep Score 27 0.08 0.13
Body Bat Max vs Readiness 27 0.65 0.60
Stress Avg vs Readiness 27 -0.45 -0.52
Stress Avg vs Sleep Score 27 -0.26 -0.22
Garmin vs Oura Analysis Results (Nov 2025)
Summary Table
| Indicator | N | Pearson (r) | Spearman (rho) | Mean Garmin | Mean Oura | Abs Diff | Pct Diff |
|---|---|---|---|---|---|---|---|
| Total Sleep (min) | 26 | 0.85 | 0.73 | 427 | 387 | 43 | 10.8% |
| Steps | 29 | 0.99 | 0.99 | 9640 | 9586 | 429 | 6.8% |
| Distance (m) | 29 | 0.94 | 0.95 | 8052 | 7403 | 1251 | 15.1% |
| Total Calories | 29 | 0.89 | 0.94 | 2889 | 2846 | 123 | 4.1% |
| Resting HR | 26 | 0.89 | 0.89 | 54.2 | 52.8 | 1.5 | 2.9% |
| Active Calories | 29 | 0.91 | 0.94 | 570 | 464 | 124 | 24.7% |
| Deep Sleep (min) | 26 | 0.36 | 0.41 | 74.7 | 87.1 | 22.7 | 29.7% |
| REM Sleep (min) | 26 | 0.55 | 0.54 | 53.7 | 83.0 | 39.0 | 71.8% |
| Light Sleep (min) | 26 | 0.72 | 0.59 | 299 | 217 | 83 | 33.0% |
Advanced Findings
1. Sleep Architecture (Relative Ratios)
Comparing the percentage of sleep time spent in each stage to see if the structure matches, even if total duration differs.
- Deep %: Moderate correlation (r=0.50).
- REM %: Moderate correlation (r=0.46). Oura consistently reports higher REM % (21% vs 12%).
- Light %: Moderate correlation (r=0.58). Garmin consistently reports higher Light % (70% vs 56%).
2. Lagged Correlations (Predictive Power)
Does Garmin Activity Today predict Oura Recovery Tomorrow?
- Active Cal -> Readiness (t+1): Weak negative correlation (r=-0.27). Higher activity slightly reduces next-day readiness.
- Stress -> Readiness (t+1): Unexpected positive correlation (r=0.34). This might suggest adaptation or data artifacts; usually, stress should lower readiness.
- Steps -> Readiness (t+1): Weak negative correlation (r=-0.24). Similar to active calories.
3. Bias Analysis (Magnitude Dependence)
Does the error between devices grow as the value gets larger?
- Steps: No bias (r=0.01). The difference is constant regardless of how many steps you walk.
- Total Sleep: No bias (r=0.07). Comparison is stable for short and long sleep.
- Active Calories: Significant Bias (r=0.65). The more active you are, the larger the discrepancy. Garmin tends to estimate increasingly higher calories than Oura as activity levels rise.
Conclusion
- Highly Comparable: Steps, Resting HR, Total Calories.
- Caloric Disagreement: Active calories correlate well but show a magnitude-dependent bias. Garmin is much more generous with calories on active days.
- Sleep Staging: Fundamental disagreement on architecture. Oura favors REM, Garmin favors Light sleep.